home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Apple WWDC 1996
/
WWDC96_1996 (CD).toast
/
Technology Materials
/
MacOS 8 Resources
/
Developer Tools
/
Mac OS 8 Interfaces & Libraries
/
Interfaces
/
AIncludes
/
SCSIPlugin.a
< prev
next >
Wrap
Text File
|
1996-05-01
|
4KB
|
117 lines
;
; File: SCSIPlugin.a
;
; Contains: Family defined Plugin exports and data structures
;
; Version: Technology: xxx put the technology version here xxx
; Release: Universal Interfaces 3.0d3 on Copland DR1
;
; Copyright: © 1984-1996 by Apple Computer, Inc. All rights reserved.
;
; Bugs?: If you find a problem with this file, send the file and version
; information (from above) and the problem description to:
;
; Internet: apple.bugs@applelink.apple.com
; AppleLink: APPLE.BUGS
;
;
IF &TYPE('__SCSIPLUGIN__') = 'UNDEFINED' THEN
__SCSIPLUGIN__ SET 1
IF &TYPE('__TYPES__') = 'UNDEFINED' THEN
include 'Types.a'
ENDIF
IF &TYPE('__KERNEL__') = 'UNDEFINED' THEN
include 'Kernel.a'
ENDIF
IF &TYPE('__SCSI__') = 'UNDEFINED' THEN
include 'SCSI.a'
ENDIF
IF FOR_SYSTEM8_PREEMPTIVE THEN
;
;************************************************************************
; Define entries to SIM routines
;************************************************************************
; SIMInitInfo PB
; directions are for SCSIPluginInit call ( -> parm, <- result) */
; need to change this to PluginControlBlock ***
;
PluginControlBlock RECORD 0
ioPBSize ds.w 1 ; offset: $0 (0) ; <- size of SCSI_IO_PBs required for this SIM
oldCallCapable ds.w 1 ; offset: $2 (2) ; <- true if this SIM can handle old-API calls
busID ds.w 1 ; offset: $4 (4) ; <- bus number for the registered bus
simSlotNumber ds.b 1 ; offset: $6 (6) ; <- Magic cookie to place in scsiHBASlotNumber (PCI)
simSRsrcID ds.b 1 ; offset: $7 (7) ; <- Magic cookie to place in scsiSIMsRsrcID (PCI)
simRegEntry ds.l 1 ; offset: $8 (8) ; -> The SIM's RegEntryIDPtr (PCI)
maxTargetID ds.l 1 ; offset: $C (12) ; <- max Target ID of this bus
initiatorID ds.l 1 ; offset: $10 (16) ; <- comes from the NVRAM
scsiTimeout ds.l 1 ; offset: $14 (20) ; <- bus time out period
scsiFlagsSupported ds.l 1 ; offset: $18 (24) ; <- scsiFlags supported by this SIM
scsiSelectTimeout ds.w 1 ; offset: $1C (28) ; <- selection time out period
scsiIOFlagsSupported ds.w 1 ; offset: $1E (30) ; <- scsiIOFlags supported by this SIM
scsiDataTypes ds.l 1 ; offset: $20 (32) ; <- scsiDataType supported by this SIM
; *** need to remove the following declares ASAP plugin is ready
; SCSIPluginActionEntry scsiPluginAction; // address of SIM action routine
; SCSIPluginHandleBusEventEntry scsiPluginHandleBusEvent;
; SCSIPluginInitEntry scsiPluginInit;
sizeof EQU * ; size: $24 (36)
ENDR
; Define SIM calls passed into the family at initialize time
kSCSIPluginVersion EQU $02019600 ; date and version *** temporary
SCSIPluginInfo RECORD 0
version ds.l 1 ; offset: $0 (0)
reserved1 ds.l 1 ; offset: $4 (4)
reserved2 ds.l 1 ; offset: $8 (8)
reserved3 ds.l 1 ; offset: $C (12)
sizeof EQU * ; size: $10 (16)
ENDR
; plugin needs to export this structure
SCSIPluginDispatchTable RECORD 0
header ds SCSIPluginInfo ; offset: $0 (0)
scsiPluginAction ds.l 1 ; offset: $10 (16) ; address of SIM action routine
scsiPluginHandleBusEvent ds.l 1 ; offset: $14 (20)
scsiPluginInit ds.l 1 ; offset: $18 (24)
sizeof EQU * ; size: $1C (28)
ENDR
;
; extern void SCSIPluginAction(SCSI_PB *scsiPB)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION SCSIPluginAction
ENDIF
;
; extern void SCSIPluginHandleBusEvent(void *busEvent)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION SCSIPluginHandleBusEvent
ENDIF
;
; extern OSStatus SCSIPluginInit(PluginControlBlock *pcb)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION SCSIPluginInit
ENDIF
;
; extern void SCSIFamMakeCallback(SCSI_PB *req)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION SCSIFamMakeCallback
ENDIF
;
; extern OSStatus SCSIFamBusEventForSIM(UInt32 busID, void *busEvent)
;
IF GENERATINGCFM THEN
IMPORT_CFM_FUNCTION SCSIFamBusEventForSIM
ENDIF
ENDIF
ENDIF ; __SCSIPLUGIN__